//
//  main.c
//  hello
//
//  Created by mir_yan on 2017/3/17.
//  Copyright © 2017年 hakeem. All rights reserved.
//

#include <stdio.h>

/*
 stdio.h 系统库文件
 #include 导入系统文件 预编译文件
 <> 系统自带
 “” 用户自定义 先搜索自定义 后搜索系统库
 */

// 主程序  程序入口
#define CLASSNUMBER 7
/*
 #define 大写取名 需要替换的值
 */
int main(int argc, const char * argv[]) {
    
    /*
        基本类型
        构造类型=》数组、结构体struct 、共用体union、枚举类型 enun
        指针类型
        空类型 void
     
     */
    // insert code here...
    printf("Hello, World!\n");
    /*
        static 关键字 标识符优先级高
     */
    /*
        关键字
        数据类型
            char(2) double(3) enum(4) float(5) int(6) long(7) short(8) signed(9)
            struct(10) union(11) unsigned(12) void(13)
     
        控制语句关键字
            for do while break continue if else goto switch case default return 
        储存类关键字
            auto extern register static 
        其他
            const sizeof typedef volatile
     
     */
    printf("%d\n",CLASSNUMBER);
    
    
    /*
        scanf () 格式化输入函数  读取基本类型的值  scanf("%d",&a)
        getchar ()  字符输入  读取回车前的字符 char c = getchar() ;
        printf("%c",getchar());
     */
//    
//    int num1 = 0;
//    char num2 = 0;
//    
//    scanf("%d",&num1); // 等待输入
//    scanf("\n%c",&num2);
//    
//    printf("num1 == %d \n",num1);
//    printf("num2 == %d \n",num2);
    
    
    char chTemp = 0;
    chTemp = getchar();
    
    printf("%c",chTemp);
    
    /*
        格式化输出
     */
    
    
    /*
        练习1 输入身高
     */
    
    float fHeight = 0.0;
    printf("请输入身高，以英寸为单位");
    scanf("%f",&fHeight);
    printf("您的身高是%.2f\n",fHeight*2.54);
    
    
    /*
        运算符
        ++a 先自加  再参与运算
        a-- 先参与运算 后自加
     
        b = 7;
        c = 1 + b++;
        c = 8;
        b = 8;
     
        ----------
        b = 7;
        c = 3 + ++b;
        c = 11;
        b = 8;
     
     
        优先级
        ！ 逻辑  优先级最高
        算数运算符
        关系
        逻辑
        赋值
     
     
        , 运算符  （优先级最低）
        结果  1，2，3，n
        结果 值是 n。
     
     运算符优先级：
     逗号运算符<赋值运算符<条件运算符<逻辑运算符<位运算符<关系运算符<算数运算符<特殊运算符
     优先级最低就是什么表达式
     
     */
    
    int num = sizeof(4.34f);
    printf("num = %d\n",num);
    
    
    /*
        类型转换
     */
    float a = 0.0;
    a = (int)1.6;
    
    return 0;
}
